﻿using System;
using Socium.Domain.Persons;

namespace Socium.Domain.Tests.Testings {
	[Serializable]
	public abstract class Answer {
		protected Answer(Person person)
			: this(person, DateTime.Now) {
		}

		protected Answer(Person person, DateTime date) {
			Person = person;
			Date = date;
		}

		public Person Person { get; private set; }

		public DateTime Date { get; private set; }

		public bool IsMatch(Person person, object o) {
			return Person == person && IsMatch(o);
		}

		public abstract bool IsMatch(object o);
	}
}
